package com.interface_接口.基本介绍;

public class 接口的好处 {
    /**
     * 可以理解为项目经理创建接口写规定，然后程序员按照规范写代码，必须实现接口中的方法；
     * 优点：统一方法命名规范，代码可读性增强，可维护性增强，
     * */
    public static void main(String[] args) {
        man1 man1 = new man1();
        method(man1);
        System.out.println("-------------------");
        man2 man2 = new man2();
        method(man2);
        System.out.println("-------------------");
        man3 man3 = new man3();
        method(man3);
        System.out.println("-------------------");
    }

    public static void method(AA aa) {  // AA接口的实现类,将接口作为参数，根据参数调用不同的实现类
        aa.start();  //把对象传进来，动态绑定，运行时自动识别运行类型而执行对应的方法
        aa.end();
    }



}




interface AA{  // 项目经理创建的接口
    public void start();  //项目经理规定的开始方法
    public void end();   //项目经理规定的结束方法
}

class man1 implements AA{  // 程序员按照规范写代码，必须实现接口中的方法
    @Override
    public void start() {
        System.out.println("检测到是man1类的开始");
    }

    @Override
    public void end() {
        System.out.println("检测到是man1类的结束");

    }
}

class man2 implements AA{
    @Override
    public void start() {
        System.out.println("检测到是man2类的结束");
    }

    @Override
    public void end() {
        System.out.println("检测到是man2类的结束");
    }
}

class man3 implements AA{
    @Override
    public void start() {
        System.out.println("检测到是man3类的开始");
    }

    @Override
    public void end() {
        System.out.println("检测到是man3类的结束");

    }
}